package jianzhioffer;

import java.util.Arrays;

/**
 * Author: Zhang Dongwei
 * Date: 2023/3/21 15:37
 * 输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有奇数在数组的前半部分，所有偶数在数组的后半部分。
 */
public class offer_21_调整数组顺序使奇数位于偶数面前 {

    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4};
        System.out.println(Arrays.toString(exchange(nums)));
    }

//    自己写的，从前找偶数，从后找奇数，然后两者交换
    public static int[] exchange(int[] nums) {
        int i=0, j=nums.length-1;
        while (i<=j){
            if (nums[i]%2==0&&nums[j]%2!=0){
                int temp = nums[i];
                nums[i] = nums[j];
                nums[j] = temp;
                i++;
                j--;
            }
            else if (nums[i]%2!=0){
                i++;
            }
            else if (nums[j]%2==0){
                j--;
            }
        }
        return nums;
    }

}
